The invention relates to Medium Access Control (MAC) protocols in CSMA networks.
An extended network is a network that contains network segments that are all of the same type or are of different types (for example, wired media like Ethernet and FDDI LANs). Typically, these segments can be connected to form the extended network using an appropriately designed bridge.
Two common types of bridges are the learning (or transparent) bridge and the source-aware (or source routing) bridge. Learning bridges learn which side (port) of the bridge a station resides based on source addresses in the traffic received on a given port. Learning bridges operate effectively as long as the network topology contains no loops. A loop-free network can be created from an arbitrary topology by disabling bridges that create loops. Mechanisms for breaking loops, such as the Ethernet Spanning Tree Algorithm, are well known in the art. Source-aware bridging requires that every station on the medium be aware that a particular destination address is reached through a bridge. The source-aware bridge uses routing information that has been included in the data link MAC header by a source station to determine the path a frame should take through the extended network. Thus, in a source-aware scheme, a source station is expected to know the route over which to send frames to a destination station and must know whether the destination is accessed through a bridge.
Bridging on reliable media (those with very low bit error rates, like Ethernet and Fiber-Optic cables) is frequently accomplished by transparent bridging. Transparent bridging is less suitable for unreliable media (those with relatively high bit error rates, e.g., wireless media and AC powerlines), as the unreliable media are often made reliable for packet traffic, that is, made to have a low packet error rate, through the use of link-level Automatic Repeat Request (ARQ) protocols. ARQ protocols use an acknowledgement mechanism between source and destination stations such that the source station can repeat a transmission if a positive acknowledgement (ACK) is not received from the destination station after the original transmission. Link-level ARQ protocols generally mandate a close timing relationship between the end of the original transmission and the start of the ACK so that the source station can repeat a packet immediately and minimize buffering requirements.
ARQ protocols of this nature complicate the use of learning bridges because the bridge acts as a representative in the ARQ scheme for any destination station on the other side of the bridge. The bridge must compare the received destination address with the list of learned addresses to which the bridge is currently forwarding packets and return an ACK if a match is found. The requirement to compare a potentially large list of addresses and respond in the normally short time allotted for the ACK makes a conventional transparent bridging approach to bridging unreliable media quite undesirable.
In one aspect of the invention, source-aware bridging by a device coupled to a network includes: maintaining a list of addresses of devices connected to the network by a bridge in association with an address of the bridge to which the devices are connected; associating with the list a channel map for the list; determining if a frame from a local LLC and having a header and a body is to be transmitted onto a medium of the network; if the frame is to be transmitted onto the medium, determining if a destination address in the header matches one of the addresses in the list, a match indicating that it is known that the device is connected to the network by a bridge; and, if the destination address matches one of the addresses in the list, replacing the destination address in the header with the address of the bridge associated with the matched one of the addresses and inserting in the body a source address from the header as an original source address and the destination address as an original destination address to enable the bridge to send the frame to the original destination address.
Embodiments of the invention may include one or more of the following features.
The bridging can include determining if the source address in the header of the frame received from the LLC is the same as that of the device and, if it is determined that the destination address matches one of the addresses in the list and the source address is not the same as that of the device, replacing the source address in the header with that of the device and storing the source address in a list of addresses of devices for which the device serves as a bridge proxy.
The bridging can further include replacing the destination address with a broadcast address and inserting in the body the source address as an original source address and the destination address as an original destination address if it is determined that it is unknown whether the destination address corresponds to a device connected to the network by a bridge.
Determining if a frame received from a local LLC is to be transmitted onto a medium of the network can include determining if the destination address is the same as that of the device.
The bridging can further include storing a list of addresses of devices for which the device is to serve as a bridge proxy if such a list is present in the frame, if it is determined that the destination address is the same as that of the device.
The bridging can further include receiving information from a local LLC and storing a list of addresses of devices for which the device is to serve as a bridge proxy if such a list is included in the received information.
The bridging can further include determining if the destination address belongs to a multicast transmission, and, if it is determined that the destination address belongs to a multicast transmission and a valid channel map exists for any individual address, replacing the destination address with an address for which a valid channel map exists and inserting in the body of the frame a multicast with response MAC management entry that includes a copy of the replaced destination address. An indication that the frame is multicast-addressed and that the MAC management entry instead of the destination address is to be checked for an actual destination address be provided in the header.
The frame can specify that a response is requested. If a response is requested, bridging can send the frame to the bridge to cause the bridge to forward the frame to the destination address and to return a response. Bridging can further include receiving a response from the bridge.
The medium can be an unreliable medium. The unreliable medium can be a power line. Maintaining can include
receiving information in the list in a channel estimation response from the bridge.
In another aspect of the invention, bridging by a device coupled to a network includes: maintaining a list of addresses of devices connected to the network by a bridge in association with an address of the bridge to which the devices are connected; receiving a frame from a medium of the network, the frame having a header and a body and the header specifying a destination address and a source address; determining if the frame includes a replace bridge address MAC management entry, the replace bridge address entry including an original source address and an original destination address; if a replace bridge address MAC management entry is determined to be included in the frame and the original source address is different from the source address, storing the original source address as an address of the bridged device in association with the source address as an address of a bridge through which the bridged device is connected to the network; and restoring the original source address and the original destination address to the header.
Embodiments of the invention may include one or more of the following features.
Bridging can include determining if the frame includes a multicast with response MAC management entry prior to determining if a replace bridge address MAC management entry is included in the frame, the multicast with response MAC management entry including addresses of intended frame recipients, one of the addresses corresponding to the device, and, if it is determined that the frame includes a multicast with response MAC management entry, replacing the destination address with an address corresponding to the address in the multicast with response MAC management entry.
Among the advantages of the present invention are the following. The use of a source-aware MAC eliminates the problem of address matching associated with conventional transparent bridging on an unreliable medium. A frame to be delivered to a destination station that is known to be on the other side of a bridge is encapsulated by the source station with the bridge""s address before transmission. The actual destination address is embedded in the frame, so the bridge can recreate and forward the original frame. Because the frame is addressed to the bridge as a proxy, the bridge participates in an ARQ protocol for a high level of reliability. If it is not known whether a destination address is bridged, the, source-aware MAC protocol supports replacing the destination address with a broadcast address so a device can continue with its frame transmission. Also, the source-aware MAC supports the use of channel maps to maximize the throughput and efficiency of an unreliable network. Additionally, because the source-aware MAC is able to learn the addresses of the devices for which it serves as a bridge proxy independently of any transparent learning bridge function, the source-aware MAC can be used with a standard, commercially available transparent learning bridge that is unaware of source-aware processing activities.
Other features and advantages of the invention will be apparent from the following detailed description and from the claims.